HTML <pre> Tag

The <pre> is used to insert a preformatted text into an HTML document. The spaces and line breaks in the text are preserved. The <pre> tag is usually used to display code, or a text (for example, a poem), where the author himself sets the location of the lines relative to each other. Text in a <pre> element is shown in a fixed-width font.

The tag content is displayed in the browser in a monospace font.

Any element can be placed in the <pre> tag, except for the <big>, <img>, <object>, <small>, <sub> and <sup> tags.

You cannot use block-level elements, as they create additional indents, changing the space between the lines.

The <pre> tag can be used when showing text with uncommon formatting, or some kind of computer code.

Syntax

The <pre> tag comes in pairs. The content is written between the opening (<pre>) and closing (</pre>) tags.

Example of the HTML <pre> tag:

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
  </head>
  <body>
    <pre>Spaces
               and line breaks
               within this element 
        are shown as typed.           
    </pre>
  </body>
</html>

Result

pre tag example

To insert code in an HTML document, use the <code> tag, nested in the <pre> element. In that case, search bots, programs reading from screen, will immediately understand, that it is a program code.

Example of the HTML <pre> tag with the CSS color property:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <pre>
      <code>
        body {
          color:orange;
        }
      </code>
    </pre>
  </body>
</html>

Attributes

Attribute Value Description
width number Defines the maximum number of characters per line.
Not supported in HTML5.

The <pre> tag supports the Global Attributes and the Event Attributes.

How to style <pre> tag?

Common properties to alter the visual weight/emphasis/size of text in <pre> tag:

  • CSS font-style property sets the style of the font. normal | italic | oblique | initial | inherit.
  • CSS font-family property specifies a prioritized list of one or more font family names and/or generic family names for the selected element.
  • CSS font-size property sets the size of the font.
  • CSS font-weight property defines whether the font should be bold or thick.
  • CSS text-transform property controls text case and capitalization.
  • CSS text-decoration property specifies the decoration added to text, and is a shorthand property for text-decoration-line, text-decoration-color, text-decoration-style.

Coloring text in <pre> tag:

  • CSS color property describes the color of the text content and text decorations.
  • CSS background-color property sets the background color of an element.

Text layout styles for <pre> tag:

  • CSS text-indent property specifies the indentation of the first line in a text block.
  • CSS text-overflow property specifies how overflowed content that is not displayed should be signalled to the user.
  • CSS white-space property specifies how white-space inside an element is handled.
  • CSS word-break property specifies where the lines should be broken.

Other properties worth looking at for <pre> tag:

Browser support

chrome edge firefox safari opera

Practice Your Knowledge

What features are characterized by the 'pre' tag in HTML?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?